home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWABFV20.ZIP
/
EFLAG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-19
|
10KB
|
774 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
String STRING001
String TSTRING002(1)
String TSTRING003(1)
String TSTRING004(1)
String TSTRING005(1)
String STRING006
String TSTRING007(1)
String TSTRING008(1)
String TSTRING009(1)
String TSTRING010(1)
String STRING011
String TSTRING012(1)
String STRING013
String STRING014
String STRING016
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING029
Int TINT001(1)
Int INT002
Int INT003
Int TINT004(1)
Int INT005
Int INT006
Int INT007
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Int INT013
Int INT014
Int INT015
Int INT016
Int INT020
Int INT026
Int INT027
Declare Function FUNCTION001() String
Declare Function FUNCTION002() String
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006(Int INT023, Int INT024, Int INT025)
Declare Procedure PROC007()
Declare Procedure PROC008(String STRING015)
Declare Procedure PROC009()
Declare Procedure PROC010()
Declare Procedure PROC011(Int INT021, Int INT022, String STRING018)
Declare Procedure PROC012(Int INT017, Var Int INT018, Var Int INT019, Var Boolean BOOLEAN005, String STRING017)
Declare Procedure PROC013()
Declare Procedure PROC014()
;------------------------------------------------------------------------------
PROC001()
PROC004()
PROC005()
End
;------------------------------------------------------------------------------
Procedure PROC005()
Int INT011
Int INT012
Int INT013
String STRING014
Boolean BOOLEAN003
PROC002()
STRING014 = ""
INT011 = 1
INT012 = 1
PROC006(1, INT011, INT012)
BOOLEAN003 = 0
:LABEL001
If (BOOLEAN003) Goto LABEL003
INT013 = Asc(Inkey())
Select Case (INT013)
Case 82, 54, 62, 93
INT012 = INT011
Inc INT011
If (INT011 > INT003) INT011 = 1
PROC006(1, INT011, INT012)
Case 76, 52, 9, 60, 91
INT012 = INT011
Dec INT011
If (INT011 < 1) INT011 = INT003
PROC006(1, INT011, INT012)
Case 85, 56
INT009 = GetY()
INT010 = INT009
STRING014 = FUNCTION001()
If (STRING014 <> "") Then
PROC008(STRING014)
PROC009()
PROC002()
Endif
STRING014 = ""
INT011 = 1
INT012 = 1
PROC006(1, INT011, INT012)
Case 68, 50, 32
If ((INT013 == 32) && (BOOLEAN002 == 0)) Goto LABEL002
INT009 = GetY()
INT010 = 0
STRING014 = FUNCTION002()
If (STRING014 <> "") Then
PROC008(STRING014)
PROC009()
PROC002()
Endif
STRING014 = ""
INT011 = 1
INT012 = 1
PROC006(1, INT011, INT012)
:LABEL002
Case 33
PROC013()
Case 63
PROC014()
Case 13
PROC011(1, INT011, STRING014)
BOOLEAN003 = 1
Case 27
If (BOOLEAN001) Then
PROC009()
KbdStuff "N"
BOOLEAN003 = 1
Endif
PROC012(1, INT011, INT012, BOOLEAN003, Chr(INT013))
Case tñ⌠
PROC006(1, INT011, INT012)
If (BOOLEAN001) PROC011(1, INT011, STRING014)
BOOLEAN003 = BOOLEAN001
End Select
Goto LABEL001
:LABEL003
EndProc
;------------------------------------------------------------------------------
Procedure PROC008(String STRING015)
Int INT014
Int INT015
Int INT016
String STRING016
Boolean BOOLEAN004
INT014 = 1
INT015 = 1
PROC003()
PROC006(2, INT014, INT015)
BOOLEAN004 = 0
:LABEL004
If (BOOLEAN004) Goto LABEL006
STRING016 = Inkey()
INT016 = Asc(STRING016)
Select Case (INT016)
Case 85, 56
PROC010()
STRING015 = FUNCTION001()
If (STRING015 == "") Then
BOOLEAN004 = 1
Endif
Case 68, 50, 32
If ((INT016 == 32) && (BOOLEAN002 == 0)) Goto LABEL005
PROC010()
STRING015 = FUNCTION002()
If (STRING015 == "") Then
BOOLEAN004 = 1
Endif
:LABEL005
Case 82, 54
INT015 = INT014
Inc INT014
If (INT014 > INT006) INT014 = 1
PROC006(2, INT014, INT015)
Case 76, 52
INT015 = INT014
Dec INT014
If (INT014 < 1) INT014 = INT006
PROC006(2, INT014, INT015)
Case 72
INT015 = INT014
INT014 = 1
PROC006(2, INT014, INT015)
Case 69
INT015 = INT014
INT014 = INT006
PROC006(2, INT014, INT015)
Case 27
If (BOOLEAN001) Then
BOOLEAN004 = BOOLEAN001
PROC010()
PROC009()
Endif
Case 33
PROC013()
Case 63
PROC014()
Case 13
PROC011(2, INT014, STRING015)
BOOLEAN004 = 1
PROC012(2, INT014, INT015, BOOLEAN004, STRING016)
Case tñ⌠
PROC006(2, INT014, INT015)
If (BOOLEAN001) PROC011(2, INT014, STRING015)
BOOLEAN004 = BOOLEAN001
End Select
Goto LABEL004
:LABEL006
EndProc
;------------------------------------------------------------------------------
Procedure PROC012(Int INT017, Var Int INT018, Var Int INT019, Var Boolean BOOLEAN005, String STRING017)
Int INT020
INT020 = 1
Select Case (INT017)
Case 1
:LABEL007
If (BOOLEAN005) Goto LABEL008
If (Lower(STRING017) == Lower(TSTRING004(INT020))) Then
INT019 = INT018
INT018 = INT020
BOOLEAN005 = 1
Else
Inc INT020
If (INT020 > INT003) Goto LABEL008
Endif
Goto LABEL007
:LABEL008
Case 2
:LABEL009
If (BOOLEAN005) Goto LABEL011
If ((Asc(STRING017) == 27) && (TSTRING010(INT020) == "quit")) Then
INT019 = INT018
INT018 = INT020
BOOLEAN005 = 1
Goto LABEL010
Endif
If (Lower(STRING017) == Lower(TSTRING009(INT020))) Then
BOOLEAN005 = 1
INT019 = INT018
INT018 = INT020
Goto LABEL010
Endif
Inc INT020
If (INT020 > INT006) Goto LABEL011
:LABEL010
Goto LABEL009
End Select
:LABEL011
EndProc
;------------------------------------------------------------------------------
Procedure PROC011(Int INT021, Int INT022, String STRING018)
String STRING019
Select Case (INT021)
Case 1
STRING019 = Lower(TSTRING005(INT022))
Print Chr(13)
ClrEol
Print Chr(13)
Select Case (STRING019)
Case "cont"
KbdStuff Chr(13)
Case "flag"
If (STRING018 <> "") Then
KbdStuff "FL " + STRING018
Else
KbdStuff "FL"
Endif
Case "view"
If (STRING018 <> "") Then
KbdStuff "F " + Chr(13) + "/VIEW" + Chr(13) + STRING018
Else
KbdStuff "F" + Chr(13) + "/VIEW"
SaveScrn
Endif
Case "nstop"
KbdStuff "NS"
Case "stop"
KbdStuff "N"
Case Else
DispStr STRING019
End Select
Case 2
STRING019 = Lower(TSTRING010(INT022))
If (STRING019 == "flag") Then
PROC010()
PROC009()
KbdStuff "FL " + STRING018
End
Goto LABEL012
Endif
If (STRING019 == "view") Then
PROC010()
PROC009()
KbdStuff "F " + Chr(13) + "/VIEW" + Chr(13) + STRING018
SaveScrn
End
Goto LABEL012
Endif
If (STRING019 == "quit") Then
PROC010()
PROC009()
Goto LABEL012
Endif
PROC010()
PROC009()
SaveScrn
DispStr STRING019 + " " + STRING018
RestScrn
StartDisp 0
StartDisp 2
End Select
:LABEL012
EndProc
;------------------------------------------------------------------------------
Procedure PROC009()
Print Chr(27) + "[u"
ClrEol
EndProc
;------------------------------------------------------------------------------
Procedure PROC010()
Print Chr(27) + "[u" + Chr(27) + "[" + String(INT009 - INT008) + "A"
Print STRING013 + Chr(13)
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001() String
String STRING021
String STRING022
STRING021 = ""
While (INT010 > 0) Do
Dec INT010
If (TSTRING012(INT010) <> "") Then
PROC007()
STRING021 = TSTRING012(INT010)
Break
Endif
EndWhile
FUNCTION001 = STRING021
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION002() String
String STRING023
String STRING024
STRING023 = ""
While (INT010 < INT009) Do
Inc INT010
If (TSTRING012(INT010) <> "") Then
PROC007()
STRING023 = TSTRING012(INT010)
Break
Endif
EndWhile
FUNCTION002 = STRING023
EndFunc
;------------------------------------------------------------------------------
Procedure PROC007()
Print Chr(27) + "[u" + Chr(27) + "[" + String(INT009 - INT010) + "A"
INT008 = INT010
STRING013 = ScrText(1, INT008, INT007, 1)
Print STRING011 + StripAtx(STRING013) + Chr(13)
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
String STRING024
INT010 = 1
While (INT010 > 0) Do
ScrFile INT010, STRING024
If (INT010 <> 0) Then
TSTRING012(INT010) = STRING024
Inc INT010
Endif
EndWhile
EndProc
;------------------------------------------------------------------------------
Procedure PROC006(Int INT023, Int INT024, Int INT025)
Print Chr(27) + "[u" + Chr(13)
If (INT023 == 1) Then
Forward TINT001(INT025) - 1
Print TSTRING002(INT025)
Else
Forward TINT004(INT025) - 1
Print TSTRING007(INT025)
Endif
Print Chr(13)
If (INT023 == 1) Then
Forward TINT001(INT024) - 1
Print TSTRING003(INT024)
Else
Forward TINT004(INT024) - 1
Print TSTRING008(INT024)
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
Int INT026
DefColor
Print Chr(27) + "[u" + Chr(13)
ClrEol
Print Chr(13) + Chr(27) + "[s"
Print STRING006
TINT004(1) = GetX()
For INT026 = 1 To INT006
Print TSTRING007(INT026) + Space(INT005)
TINT004(1 + INT026) = TINT004(INT026) + Len(StripAtx(TSTRING007(INT026)))
Next
ClrEol
DefColor
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
Int INT027
Print Chr(27) + "[s"
Print STRING001
TINT001(1) = GetX()
For INT027 = 1 To INT003
TINT001(INT027 + 1) = TINT001(INT027) + Len(StripAtx(TSTRING002(INT027)))
Print TSTRING002(INT027) + Space(INT002)
Next
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
String STRING025
String STRING026
String STRING027
String STRING028
Int INT028
GetUser
If (U_PageLen) Goto LABEL013
End
Goto LABEL014
:LABEL013
Redim TSTRING012, U_PageLen + 1
:LABEL014
STRING025 = PPEPath() + "EFLAG.CFG"
STRING026 = PPEPath() + "PROMPT1.CFG"
STRING027 = PPEPath() + "PROMPT2.CFG"
If (Exist(STRING025)) Then
STRING011 = ReadLine(STRING025, 1)
INT007 = S2I(ReadLine(STRING025, 2), 10)
If (Lower(ReadLine(STRING025, 3)) == "yes") Then
BOOLEAN001 = 1
Else
BOOLEAN001 = 0
Endif
If (Lower(ReadLine(STRING025, 4)) == "yes") Then
BOOLEAN002 = 1
Else
BOOLEAN002 = 0
Endif
Else
STRING011 = "@X4F"
INT007 = 79
BOOLEAN001 = 1
BOOLEAN002 = 0
Endif
If (Exist(STRING026)) Then
FOpen 1, STRING026, 0, 2
FDefIn 1
FDGet STRING001
FDGet STRING028
INT002 = S2I(STRING028, 10)
FDGet STRING028
INT003 = S2I(STRING028, 10)
If (INT003) Then
Redim TSTRING002, INT003 + 1
Redim TSTRING003, INT003 + 1
Redim TSTRING004, INT003 + 1
Redim TSTRING005, INT003 + 1
Redim TINT001, INT003 + 1
For INT028 = 1 To INT003
FDGet TSTRING002(INT028)
FDGet TSTRING003(INT028)
FDGet TSTRING004(INT028)
FDGet TSTRING005(INT028)
Next
FClose 1
Else
End
Endif
Else
STRING001 = "@X08-[@X0FEFLAG 2.0@X08]-[@X0F@MINLEFT@ @X07min left@X08] @X07"
INT002 = 0
INT003 = 5
Redim TSTRING002, 6
Redim TSTRING003, 6
Redim TSTRING004, 6
Redim TSTRING005, 6
Redim TINT001, 6
TSTRING002(1) = "@X08 Cont @X07"
TSTRING003(1) = "@X4F CONT @X07"
TSTRING004(1) = "C"
TSTRING005(1) = "cont"
TSTRING002(2) = "@X08 Flag @X07"
TSTRING003(2) = "@X4F FLAG @X07"
TSTRING004(2) = "F"
TSTRING005(2) = "flag"
TSTRING002(3) = "@X08 View @X07"
TSTRING003(3) = "@X4F VIEW @X07"
TSTRING004(3) = "V"
TSTRING005(3) = "view"
TSTRING002(4) = "@X08 NStop @X07"
TSTRING003(4) = "@X4F NSTOP @X07"
TSTRING004(4) = "N"
TSTRING005(4) = "nstop"
TSTRING002(5) = "@X08 Stop @X07"
TSTRING003(5) = "@X4F STOP @X07"
TSTRING004(5) = "S"
TSTRING005(5) = "stop"
Endif
If (Exist(STRING027)) Then
FOpen 1, STRING027, 0, 2
FDefIn 1
FDGet STRING006
FDGet STRING028
INT005 = S2I(STRING028, 10)
FDGet STRING028
INT006 = S2I(STRING028, 10)
If (INT006) Then
Redim TSTRING007, INT006 + 1
Redim TSTRING008, INT006 + 1
Redim TSTRING009, INT006 + 1
Redim TSTRING010, INT006 + 1
Redim TINT004, INT006 + 1
For INT028 = 1 To INT006
FDGet TSTRING007(INT028)
FDGet TSTRING008(INT028)
FDGet TSTRING009(INT028)
FDGet TSTRING010(INT028)
Next
FClose 1
Else
End
Endif
Else
STRING006 = "@X08[@X0FFlag Cmds@X08] @X07"
INT005 = 0
INT006 = 3
Redim TSTRING007, 3
Redim TSTRING008, 3
Redim TSTRING009, 3
Redim TSTRING010, 3
Redim TINT004, 3
TSTRING007(1) = "@X08 Flag @X07"
TSTRING008(1) = "@X4F FLAG @X07"
TSTRING009(1) = "F"
TSTRING010(1) = "flag"
TSTRING007(2) = "@X08 View @X07"
TSTRING008(2) = "@X4F VIEW @X07"
TSTRING009(2) = "V"
TSTRING010(2) = "view"
TSTRING007(3) = "@X08 Quit @X07"
TSTRING008(3) = "@X4F QUIT @X07"
TSTRING009(3) = "Q"
TSTRING010(3) = "quit"
Endif
RestScrn
ClrEol
EndProc
;------------------------------------------------------------------------------
Procedure PROC013()
String STRING029
STRING029 = "@X0FEnhanced Flag v2.0 by Drew [PWA]@X07"
SaveScrn
PROC009()
Print Chr(13)
Print Space((79 - Len(StripAtx(STRING029))) / 2) + STRING029
Delay 35
RestScrn
EndProc
;------------------------------------------------------------------------------
Procedure PROC014()
If (Exist(PPEPath() + "EFLAG.HLP")) Then
SaveScrn
DispFile PPEPath() + "EFLAG.HLP", 0
RestScrn
Endif
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 6 End
; 5 ClrEol
; 128 Goto
; 134 Let
; 22 Print
; 78 If
; 1 DispFile
; 2 FOpen
; 2 FClose
; 2 StartDisp
; 1 GetUser
; 2 DefColor
; 1 Delay
; 6 Inc
; 3 Dec
; 10 KbdStuff
; 2 DispStr
; 4 Forward
; 5 SaveScrn
; 4 RestScrn
; 2 FDefIn
; 14 FDGet
; 21 Redim
; 1 ScrFile
; 14 EndProc
; 2 EndFunc
;
;
; ■ Functions used :
;
; 1 /
; 62 +
; 7 -
; 59 ==
; 7 <>
; 7 <
; 4 <=
; 6 >
; 8 >=
; 70 !
; 11 &&
; 19 ||
; 3 Len(
; 8 Lower()
; 3 Space()
; 25 Chr()
; 3 Asc()
; 4 StripAtx()
; 2 Inkey()
; 2 String()
; 5 PPEPath()
; 4 ReadLine()
; 4 Exist()
; 5 S2I()
; 2 GetX()
; 2 GetY()
; 1 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 3 While/EndWhile
; 27 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------